package com.yuju.vo.order;

import java.math.BigDecimal;
import java.util.Date;

import com.yuju.common.BaseVO;
import com.yuju.common.fileld.validator.Rule.NonNull;
/**
 * 
 * 类名：InvoiceVo  <br />
 *
 * 功能：
 *
 * @author : sunyl <br />
 * @Date : 2017年12月27日 上午10:56:53  <br />
 * @version : 1.1 <br />
 */
public class InvoiceVo extends BaseVO{
	/**
     *  主键。存储UUID，由应用生成。,所属表字段为ord_invoice.id
     */
	@NonNull(message = "主键不能为空", serviceLine = "update,del")
    private String id;

    /**
     *  所属集团。外键，引用集团信息表（grp_group）的主键（id）。,所属表字段为ord_invoice.group_id
     */
	@NonNull(message = "所属集团不能为空", serviceLine = "update,save")
    private String groupId;

    /**
     *  酒店ID。外键，引用酒店表（grp_hotel）的主键（id）。,所属表字段为ord_invoice.hotel_id
     */
	@NonNull(message = "所属酒店不能为空", serviceLine = "update,save")
    private String hotelId;

    /**
     *  住客ID。外键，引用客人档案（grp_guest_info）的主键（id）。,所属表字段为ord_invoice.room_guest_id
     */
    private String roomGuestId;

    /**
     *  房间订单ID。外键，引用房间订单表（ord_room_order）的主键（id）。,所属表字段为ord_invoice.room_order_id
     */
    @NonNull(message = "所属订单不能为空", serviceLine = "update,save,roomOrderId")
    private String roomOrderId;

    /**
     *  发票抬头。,所属表字段为ord_invoice.invoice_name
     */
    @NonNull(message = "发票抬头不能为空", serviceLine = "update,save")
    private String invoiceName;

    /**
     *  开票金额。,所属表字段为ord_invoice.money
     */
    @NonNull(message = "开票金额不能为空", serviceLine = "update,save")
    private BigDecimal money;

    /**
     *  发票号码。,所属表字段为ord_invoice.invoice_code
     */
    @NonNull(message = " 发票号码不能为空", serviceLine = "update,save")
    private String invoiceCode;

    /**
     *  应收税金。,所属表字段为ord_invoice.tax
     */
    @NonNull(message = "应收税金不能为空", serviceLine = "update,save")
    private BigDecimal tax;

    /**
     *  发票类型。,所属表字段为ord_invoice.invoice_type
     */
    @NonNull(message = "发票类型不能为空", serviceLine = "update,save")
    private Byte invoiceType;

    /**
     *  发票类型名称。,所属表字段为ord_invoice.invoice_type_name
     */
    private String invoiceTypeName;

    /**
     *  订单已开发票总额。,所属表字段为ord_invoice.invoice_sum
     */
    private BigDecimal invoiceSum;

    /**
     *  备注。,所属表字段为ord_invoice.remark
     */
    private String remark;

    /**
     *  是否逻辑删除。1表示已逻辑删除，2表示未逻辑删除，默认为2。,所属表字段为ord_invoice.is_deleted
     */
    private Byte isDeleted;

    /**
     *  创建时间。,所属表字段为ord_invoice.gmt_create
     */
    private Date gmtCreate;

    /**
     *  修改时间。,所属表字段为ord_invoice.gmt_modified
     */
    private Date gmtModified;

    /**
     *  创建用户ID。外键，引用员工表（grp_employee）的主键（id）。,所属表字段为ord_invoice.create_user_id
     */
    private String createUserId;

    /**
     *  创建用户名称。,所属表字段为ord_invoice.create_user_name
     */
    private String createUserName;

    /**
     *  更新用户ID外键，引用员工表（grp_employee）的主键（id）。,所属表字段为ord_invoice.update_user_id
     */
    @NonNull(message = "更新用户不能为空", serviceLine = "update,save")
    private String updateUserId;

    /**
     *  更新用户名称。,所属表字段为ord_invoice.update_user_name
     */
    @NonNull(message = "更新用户名称不能为空", serviceLine = "update,save")
    private String updateUserName;

    
    
    
    /*房间号*/
    private String roomCode;
    
    
    private Date startDay;
    
    private Date endDay;
    
    private String myLike_invoiceName;

    
    
    
	public Date getEndDay() {
		return endDay;
	}

	public String getMyLike_invoiceName() {
		return myLike_invoiceName;
	}

	public void setMyLike_invoiceName(String myLike_invoiceName) {
		this.myLike_invoiceName = myLike_invoiceName;
	}

	public void setEndDay(Date endDay) {
		this.endDay = endDay;
	}

	public Date getStartDay() {
		return startDay;
	}

	public void setStartDay(Date startDay) {
		this.startDay = startDay;
	}


	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getGroupId() {
		return groupId;
	}

	public void setGroupId(String groupId) {
		this.groupId = groupId;
	}

	public String getHotelId() {
		return hotelId;
	}

	public void setHotelId(String hotelId) {
		this.hotelId = hotelId;
	}

	public String getRoomGuestId() {
		return roomGuestId;
	}

	public void setRoomGuestId(String roomGuestId) {
		this.roomGuestId = roomGuestId;
	}

	public String getRoomOrderId() {
		return roomOrderId;
	}

	public void setRoomOrderId(String roomOrderId) {
		this.roomOrderId = roomOrderId;
	}

	public String getInvoiceName() {
		return invoiceName;
	}

	public void setInvoiceName(String invoiceName) {
		this.invoiceName = invoiceName;
	}

	public BigDecimal getMoney() {
		return money;
	}

	public void setMoney(BigDecimal money) {
		this.money = money;
	}

	public String getInvoiceCode() {
		return invoiceCode;
	}

	public void setInvoiceCode(String invoiceCode) {
		this.invoiceCode = invoiceCode;
	}

	public BigDecimal getTax() {
		return tax;
	}

	public void setTax(BigDecimal tax) {
		this.tax = tax;
	}

	public Byte getInvoiceType() {
		return invoiceType;
	}

	public void setInvoiceType(Byte invoiceType) {
		this.invoiceType = invoiceType;
	}

	public String getInvoiceTypeName() {
		return invoiceTypeName;
	}

	public void setInvoiceTypeName(String invoiceTypeName) {
		this.invoiceTypeName = invoiceTypeName;
	}

	public BigDecimal getInvoiceSum() {
		return invoiceSum;
	}

	public void setInvoiceSum(BigDecimal invoiceSum) {
		this.invoiceSum = invoiceSum;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public Byte getIsDeleted() {
		return isDeleted;
	}

	public void setIsDeleted(Byte isDeleted) {
		this.isDeleted = isDeleted;
	}

	public Date getGmtCreate() {
		return gmtCreate;
	}

	public void setGmtCreate(Date gmtCreate) {
		this.gmtCreate = gmtCreate;
	}

	public Date getGmtModified() {
		return gmtModified;
	}

	public void setGmtModified(Date gmtModified) {
		this.gmtModified = gmtModified;
	}

	public String getCreateUserId() {
		return createUserId;
	}

	public void setCreateUserId(String createUserId) {
		this.createUserId = createUserId;
	}

	public String getCreateUserName() {
		return createUserName;
	}

	public void setCreateUserName(String createUserName) {
		this.createUserName = createUserName;
	}

	public String getUpdateUserId() {
		return updateUserId;
	}

	public void setUpdateUserId(String updateUserId) {
		this.updateUserId = updateUserId;
	}

	public String getUpdateUserName() {
		return updateUserName;
	}

	public void setUpdateUserName(String updateUserName) {
		this.updateUserName = updateUserName;
	}
    
	// 每页显示记录数
	@NonNull(message = "每页显示行数不能为空", serviceLine = "pager")
	public Integer pageSize;
	
	// 当前页码
	@NonNull(message = "页数不能为空", serviceLine = "pager")
	public Integer page;
	
   public Integer getPageSize() {
		return pageSize;
	}

	public void setPageSize(Integer pageSize) {
		this.pageSize = pageSize;
		this.setRows(this.pageSize);
	}

	public Integer getPage() {
		return page;
	}

	public void setPage(Integer page) {
		this.page = page;
	}
	   


	public String getRoomCode() {
		return roomCode;
	}

	public void setRoomCode(String roomCode) {
		this.roomCode = roomCode;
	}

}
